$(document).ready(init_prestador)

/*funcion que se ejecuta cuando carga de la pagina*/
function init_prestador(){
    
    $("#nuevoPrestadorBtn").button({
        icons: {
            primary: 'ui-icon-plusthick'
        }
    });

    $("#buscarBtn").button({
        icons: {
            primary: 'ui-icon-search'
        },
        text: false
    });

    $("#clearBtn").button({
        icons: {
            primary: 'ui-icon-arrowthick-1-w'
        },
        text: false
    });
                    
    $("#ayudaBtn").button({
        icons: {
            primary: 'ui-icon-help'
        },
        text: false
    });
    
    
    $("#idtipoiden").load("/salus/AdministrarServlet", {
        op:"-5"
    })
    
    
    $("#id_depto").load("/salus/AdministrarServlet", {
        op:"-1"
    }).change(mostrar_municipios);
    
    $("#id_mupio").load("/salus/AdministrarServlet", {
        op:"-3"
    });
    
    $("#tabs_prestador").tabs({
        enabled: [1,2]
    });
   

    $("#nuevoPrestadorBtn").click(function(){
        
        clear_form_elements($("#formPrestador"));
        mostrar_campos({
            id:"",
            codigo:"",
            razonsocial:"",
            idtipoiden:"",            
            numeroidentificacion:"",
            nit:"",
            digitoverificacion:"",
            nivel:"",
            codhabilitacion:"",
            id_mupio:"",
            direccion:"",
            telefono:"",
            email:"",           
            op:"nuevo"
        });

        formularioPrestador();
    })


    $("#formPrestador").validate({
        rules:{            
            codigo:{
                required:true
            },
            razonsocial:{
                required:true
            }
        }
    })


    $("#buscarBtn").click(buscar_prestador);
    $("#clearBtn").click(limpiarBusqueda);
    
    $("#buscarCod").keypress(function(ev){
        if(ev.keyCode==13){       
            buscar_prestador()
        }
    })
    $("#buscarDes").keypress(function(ev){
        if(ev.keyCode==13){       
            buscar_prestador()
        }
    })
    
    $("#buscarCod").keyup(function(){
        $("#buscarDes").val("");
    })
    $("#buscarDes").keyup(function(){
        $("#buscarCod").val("");
    });
    
    /*AYUDA*/
    $('#ayudaBtn').qtip({
        content: '<b style="color:red">*</b> Para editar un prestador, haga doble click sobre el registro seleccionado<br /><b style="color:red">*</b> Para buscar un registro utilice los campos del pie de cada columna',
        show: 'mouseover',
        hide: 'mouseout',
        style: {
            name: 'cream', 
            border: {
                width: 3,
                radius: 8                                         
            },
            width: 200,
            tip: { // Now an object instead of a string
                corner: 'topRight', // We declare our corner within the object using the corner sub-option
                color: 'orange',
                size: {
                    x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
                    y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
                }
            }
        },
        position: {
            corner: {
                target: 'bottomLeft',
                tooltip: 'topRight'
            },
            container: $('div.tooltips')                          
        }
    });
    
   
        
}

/*Trae lista de municipios dependiendo del id de departamento*/
function mostrar_municipios(){
    $("#id_mupio").load("/salus/AdministrarServlet", {
        op:"-2",
        iddepto:$("#id_depto").val()
    });
}

/*Muestra el dialogo para capturar los datos de la tabla*/
function formularioPrestador(){   
   
    $("#prestador-form").dialog({
        height: 600,
        width: 600,
        modal: true,
        title:"Prestador",
        buttons:{
            "Guardar":
            function(){
            
                /* if($("#op").val()=='nuevo'){
                    validarNumero()
                }else{*/
                 
                $("#op").val($("#op").val()+"_prestador"); 
                    
                $("form[name='nameformPrestador']").submit();    
                    
                //$("#formPrestador").submit();
                $(this).dialog("close");

                    
            //guardar_prestador();
            //}                              
            },
            
            "Cancelar":function(){
                $(this).dialog("close")
            }
            
        }
    });
}


/*Guarda los datos de la tabla*/
function guardar_prestador(){
    
    if ($("#formPrestador").valid()){
        
        var form = $("#formPrestador");
        var op=$("#op").val()+"_prestador";
        
        
        $.post("/salus/AdministrarSetServlet", {
            op:op
        }, function(data){

            var resp = data.split("_");

            if(op == "editar_prestador" ){               
                edit_prestador(data);
                $("#prestador-form").dialog("close");
                window.location.reload();
            }else {                
                add_prestador(data);
                $("#prestador-form").dialog("close");
                window.location.reload();
            }
        });
                    
                    
                    
                    
                   
           
        
        
    /*var formLocal={
            id:$("#id").val(),
            codigo:$("#codigo").val(),
            razonsocial:$("#razonsocial").val()
        };*/
        
    
       
      

    /* $.ajax({
            type:'POST',
            url:'/salus/AdministrarSetServlet',
            dataType: 'script',
            cache: false,
            contentType: false,
            processData: false,
            data: form_data, 
            success:function(data) {

                var resp = data.split("_");
               

                //if(resp[0] == "editar" ){
                if(op == "editar_prestador" ){               
                    edit_prestador(form_data);
                    $("#prestador-form").dialog("close");
                    window.location.reload();
                }else {                
                    add_prestador(form_data);
                    $("#prestador-form").dialog("close");
                    window.location.reload();
                }
            }
        });*/
    }
}


/*Actualiza los datos en la grilla, despues de actualizar los datos*/
function edit_prestador(prestador){
    $("#prestador-"+prestador.id+"-codigo").text(prestador.codigo)
    $("#prestador-"+prestador.id+"-razonsocial").text(prestador.razonsocial)
}


/*Crea dinamicamente la grilla, dependiendo de la respuesta de la base de datos in(json)*/
function add_prestador(prestador){
    var tbody=$("#tabla-prestador-body")
    var tr=$("<tr/>").attr("id","prestador-"+prestador.id).appendTo(tbody);
    $("<td/>").appendTo(tr).append(prestador.codigo).attr("id","prestador-"+prestador.id+"-codigo");
    $("<td/>").appendTo(tr).append(prestador.razonsocial).attr("id","prestador-"+prestador.id+"-razonsocial");

    var aBorrar=$("<a/>").text("Borrar").addClass("borrar").attr("href","#").click(function(){
        if (confirm("¿Desea borrar este asignatura?")){
            $.post("set_data.php",{
                op:"borrar_asignatura",
                id:prestador.id
            },function(data){
                var resp=JSON.parse(data);
                if (resp.estado=="OK"){
                    $("#prestador-"+prestador.id).remove();
                }
            }
            )
        }
        return false;
    })

    var aEditar=$("<a/>").text("Editar").addClass("editar").attr("href","#").click(function(){
        $.getJSON("/salus/AdministrarEditServlet", {
            op:"13",
            id:prestador.id
        }, function(data){            
            data.op="editar";
            mostrar_campos(data);
            formularioPrestador();
        })
        return false;
    })

    $("<td/>").append(aEditar).append(aBorrar).appendTo(tr)

}


function editar(id){
    $.getJSON("/salus/AdministrarEditServlet", {
        op:"13",
        id:id
    }, function(data){            
        data.op="editar";
        mostrar_campos(data);
        formularioPrestador();
    })
}

/*Llena el formulario de edicion con los datos retornados via json*/
function mostrar_campos(prestador){
    $("#op").val(prestador.op);
    $("#id").val(prestador.id);
    $("#codigo").val(prestador.codigo);
    $("#razonsocial").val(prestador.razonsocial);   
    $("#idtipoiden").val(prestador.id_tipoidentificacion);    
    $("#numeroidentificacion").val(prestador.numeroidentificacion);
    $("#nit").val(prestador.nit);
    $("#digitoverificacion").val(prestador.digitoverificacion);    
    $("#nivel").val(prestador.nivel);
    $("#codhabilitacion").val(prestador.codigohabilitacion);
    $("#id_mupio").val(prestador.id_municipio);
    $("#direccion").val(prestador.direccion);
    $("#telefono").val(prestador.telefono);
    $("#email").val(prestador.email);
    
    
    
    $("label.error").remove();
}


/*Trae los datos de la base de datos en un objeto json*/
function cargar_prestador(){
    $.getJSON("/salus/AdministrarServlet", {
        op:"17",
        cod:$("#buscarCod").val(),
        des:$("#buscarDes").val()
    }, function(data){
        $.each(data, function(i,item){
            add_prestador(item)
        })
        $("#tabla-prestador").addClass("tablesorter").tablesorter({
            widthFixed: true,
            widgets: ['zebra']
        }).tablesorterPager({
            container: $("#pager")
        })
    })
}


/*gestiona la busqueda de datos en la grilla, por codigo y descripcion*/
function buscar_prestador(){

    if($("#buscarCod").val()==""&&$("#buscarDes").val()==""){       
        window.location.reload();
    }else{
        $("#tabla-prestador-body tr").remove();
        $("#tabla-prestador colgroup").remove();
        $.getJSON("/salus/AdministrarServlet", {
            op:"13",
            cod:$("#buscarCod").val(),
            des:$("#buscarDes").val()
        }, function(data){
        
            if(data.length>0){        
                $.each(eval(data), function(i,item){
                    add_prestador(item)
                })
                $("#tabla-prestador").addClass("tablesorter").tablesorter({
                    widthFixed: true,
                    widgets: ['zebra']
                }).tablesorterPager({
                    container: $("#pager")
                })
            }else{
                alert('No se encontraron registros')
            }
        })
    }
}


/*clarea los datos del formulario de busqueda*/
function limpiarBusqueda(){
    $("#buscarCod").val("");
    $("#buscarDes").val("");
}


function validarNumero(){
    var numero = $("#codigo").val();
    
    jQuery.ajax({
        type: "POST",
        url: "/salus/ValidarFormularioServlet",
        data: "op=4&num="+numero,
        dataType: 'json',
        success: function(msg){
            
            if(msg.error=='1'){
                $("#error_num").html("<b style='color:orange'>El codigo ya existe</b>");
                $("#codigo").val("")
                $("#codigo").focus();
            }else{
                $("#error_num").html("");
                guardar_prestador()
            }
        }

    });
}

function clear_form_elements(ele) {

    $(ele).find(':input').each(function() {
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'file':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });

}